$jValidator={
	exps:{
		empty:"\\S+",
		zipcode:"^[1-9][0-9]{5}$",
		url:"^((https|http|ftp|rtsp|mms)://)(\\w|\\W){3,}$",
		mobile:"^1\\d{10}$",
		tel:"^0\\d{10}$",
		email:"^(\\w|\\-~)+@\\w+(\\.\\w+)+$",
		mac:"^([A-F]|[a-f]|[0-9]){2}:([A-F]|[a-f]|[0-9]){2}:([A-F]|[a-f]|[0-9]){2}:([A-F]|[a-f]|[0-9]){2}:([A-F]|[a-f]|[0-9]){2}:([A-F]|[a-f]|[0-9]){2}$",
		ip:"^(([01]\\d{2})|(2(([0-4]\\d)|5[0-5]))|\\d{1,2})(\\.(([01]\\d{2})|(2(([0-4]\\d)|5[0-5]))|\\d{1,2})){3}$",
		//6-20个数字、字符、下划线
		passwd:"^([a-z]|[A-Z]|\\d|_){6,20}$",
		integer:"^-?\\d+$",
		number:"^-?\\d+(\\.\\d)*\\d*$",
	},
	//错误消息，支持该列表的所有验证
	msgs:{
		empty:"此项为必填项",
		zipcode:"请输入正确的邮编(如:610001)",
		url:"请输入正确的Url",
		mobile:"请输入正确的移动号码(如:13880808080)",
		tel:"请输入正确的固定电话(如:01012345678)",
		email:"请输入正确的电子邮箱",
		mac:"请输入正确的mac地址",
		ip:"请输入正确的ip地址",
		passwd:"密码由6~20个字母、数字和下划线组成",
		integer:"请输入正确的整数",
		number:"请输入正确的数字",
		maxint:"请输入最大值为 {0} 的整数",
		minint:"请输入最小值为 {0} 的整数",
		betweenint:"请输入 {0}~{1} 之间的整数",
		maxnumber:"请输入最大值为 {0} 的数字",
		minnumber:"请输入最小值为 {0} 的数字",
		betweennumber:"请输入 {0}~{1} 之间的数字",
		minlength:"请输入最小长度为 {0} 的字符串",
		maxlength:"请输入最大长度为 {0} 的字符串",
		betweenlength:"请输入长度为 {0}~{1} 的字符串"
	},
	
	/**
	 * 校验入口方法
	 * @param p1:校验方法名
	 * @param p2:值
	 * @param p3:参数1
	 * @param p4:参数2
	 * @return {result:true/false,msg:**} 
	 */
	valid:function(p1,p2,p3,p4){
		var me = this,
			result=false;
		if(p1!=='empty' && !p2)
			return {result:true};
		
		if(me.exps[p1]){
			var re = new RegExp(me.exps[p1]);
			if(re.test(p2))
				result = true;
		}else if(me[p1]){
			result = eval('me.' + p1 + "('" + p2 + "'," + p3 + "," + p4 + ")") 
		}
		p3 += '';
		p4 += '';
		
		if(!result){
			var msg = me.msgs[p1];
			if(msg){
				if(p3)
					msg = msg.replace(/\{0\}/,p3);
				if(p4)
					msg = msg.replace(/\{1\}/,p4);
			}
			return {result:false,msg:msg};
		}
		return {result:true}
	},
	
	/**
	 * 最大整型值校验
	 * @param v:值
	 * @param p1:最大值
	 * @return true/false 
	 */
	maxint:function(v,p1){
		if(!v)
			return true;
		var me = this,
			r = me.valid('integer',v); 
		
		if(r && r.result){
			var va = parseInt(v);
			if(v<=p1)
				return true;
			return false;
		}else
			return false;
	},
	
	/**
	 * 最小整型值校验
	 * @param v:值
	 * @param p1:最小值
	 * @return true/false 
	 */
	minint:function(v,p1){
		if(!v)
			return true;
		var me = this,
			r = me.valid('integer',v); 
		
		if(r && r.result){
			var va = parseInt(v);
			if(v>=p1)
				return true;
			return false;
		}else
			return false;
	},
	/**
	 * 整型值区间校验
	 * @param v:值
	 * @param p1:最小值
	 * @param p2:最大值
	 * @return true/false 
	 */
	betweenint:function(v,p1,p2){
		if(!v)
			return true;
		var me = this,
			r = me.valid('integer',v); 
		
		if(r && r.result){
			var va = parseInt(v);
			if(v>=p1 && v<=p2)
				return true;
			return false;
		}else
			return false;
	},
	/**
	 * 最大数字校验
	 * @param v:值
	 * @param p1:最大值
	 * @return true/false 
	 */
	maxnumber:function(v,p1){
		if(!v)
			return true;
		var me = this,
			r = me.valid('number',v); 
		
		if(r && r.result){
			var va = parseFloat(v);
			if(v<=p1)
				return true;
			return false;
		}else
			return false;
	},
	/**
	 * 最小数字校验
	 * @param v:值
	 * @param p1:最小值
	 * @return true/false 
	 */
	minnumber:function(v,p1){
		if(!v)
			return true;
		var me = this,
			r = me.valid('number',v); 
		
		if(r && r.result){
			var va = parseFloat(v);
			if(v>=p1)
				return true;
			return false;
		}else
			return false;
	},
	/**
	 * 数字区间校验
	 * @param v:值
	 * @param p1:最小值
	 * @param p2:最大值
	 * @return true/false 
	 */
	betweennumber:function(v,p1,p2){
		if(!v)
			return true;
		var me = this,
			r = me.valid('number',v); 
		console.log(r);
		if(r && r.result){
			var va = parseFloat(v);
			if(v>=p1 && v<=p2)
				return true;
			return false;
		}else
			return false;
	},
	
	/**
	 * 字符最小长度校验
	 * @param v:值
	 * @param p1:最小长度
	 * @return true/false 
	 */
	minlength:function(v,p1){
		if(!v)
			return true;
		var len = v.length;
		if(len>=p1)
			return true;
		return false;
	},
	
	/**
	 * 字符最大长度校验
	 * @param v:值
	 * @param p1:最大长度
	 * @return true/false 
	 */
	maxlength:function(v,p1){
		if(!v)
			return true;
		var len = v.length;
		if(len<=p1)
			return true;
		return false;
	},
	
	/**
	 * 长度区间校验
	 * @param v:值
	 * @param p1:最小长度
	 * @param p2:最大长度
	 * @return true/false 
	 */
	betweenlength:function(v,p1,p2){
		if(!v)
			return true;
		var len = v.length;
		if(len>=p1 && len<=p2)
			return true;
		return false;
	}
}